﻿//---------------------------------------------------------------------------------------------
//  Copyright 2009 Jeremy Palenchar
//  http://identitynotes.palenchar.net
//
//  This file is part of the Identity Notes Identity Notes Sample Custom Activity Library.
//
//  The Identity Notes Sample Custom Activity Library is free software: you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  The Identity Notes Sample Custom Activity Library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//  
//  You should have received a copy of the GNU General Public License
//  along with The Identity Notes Sample Custom Activity Library.  If not, see <http://www.gnu.org/licenses/>.
//--------------------------------------------------------------------------------------------

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Linq;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;
using Microsoft.ResourceManagement.WebServices.WSResourceManagement;

namespace IdentityNotes.Examples.CustomActivityLibrary
{
    public partial class DeleteTargetAttributesActivity : SequenceActivity
    {
        public DeleteTargetAttributesActivity()
        {
            InitializeComponent();
        }

        public static DependencyProperty AttributesProperty = DependencyProperty.Register("Attributes", typeof(string), typeof(DeleteTargetAttributesActivity));
        [FIMActivityUI(ControlType.String, 255, 5)]
        [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
        [BrowsableAttribute(true)]
        [CategoryAttribute("Misc")]
        public string Attributes
        {
            get
            {
                return ((string)(base.GetValue(CustomActivityLibrary.DeleteTargetAttributesActivity.AttributesProperty)));
            }
            set
            {
                base.SetValue(CustomActivityLibrary.DeleteTargetAttributesActivity.AttributesProperty, value);
            }
        }

        private void generateUpdateParameters_ExecuteCode(object sender, EventArgs e)
        {
            int i = 0;
            if (this.Attributes.Split(';').Length > 0)
            {
                UpdateRequestParameter[] MyUpdateParameters = new UpdateRequestParameter[this.Attributes.Split(';').Length];

                foreach (string attribute in this.Attributes.Split(';'))
                {
                    MyUpdateParameters[i] = new UpdateRequestParameter(attribute, UpdateMode.Modify, null);
                    i++;
                }

                this.updateResource.UpdateParameters = MyUpdateParameters;

            }

        }
    }
}
